Moderate: curl security, bug fix and enhancement update

Related Vulnerabilities: CVE-2010-0734   CVE-2010-0734  

Synopsis

Moderate: curl security, bug fix and enhancement update

Type/Severity

Security Advisory: Moderate

Topic

Updated curl packages that fix one security issue, various bugs, and add
enhancements are now available for Red Hat Enterprise Linux 5.

The Red Hat Security Response Team has rated this update as having moderate
security impact. A Common Vulnerability Scoring System (CVSS) base score,
which gives a detailed severity rating, is available from the CVE link in
the References section.

Description

cURL is a tool for getting files from FTP, HTTP, Gopher, Telnet, and DICT
servers, using any of the supported protocols. cURL is designed to work
without user interaction or any kind of interactivity.

Wesley Miaw discovered that when deflate compression was used, libcurl
could call the registered write callback function with data exceeding the
documented limit. A malicious server could use this flaw to crash an
application using libcurl or, potentially, execute arbitrary code. Note:
This issue only affected applications using libcurl that rely on the
documented data size limit, and that copy the data to the insufficiently
sized buffer. (CVE-2010-0734)

This update also fixes the following bugs:

  • when using curl to upload a file, if the connection was broken or reset
    by the server during the transfer, curl immediately started using 100% CPU
    and failed to acknowledge that the transfer had failed. With this update,
    curl displays an appropriate error message and exits when an upload fails
    mid-transfer due to a broken or reset connection. (BZ#479967)
  • libcurl experienced a segmentation fault when attempting to reuse a
    connection after performing GSS-negotiate authentication, which in turn
    caused the curl program to crash. This update fixes this bug so that reused
    connections are able to be successfully established even after
    GSS-negotiate authentication has been performed. (BZ#517199)

As well, this update adds the following enhancements:

  • curl now supports loading Certificate Revocation Lists (CRLs) from a
    Privacy Enhanced Mail (PEM) file. When curl attempts to access sites that
    have had their certificate revoked in a CRL, curl refuses access to those
    sites. (BZ#532069)
  • the curl(1) manual page has been updated to clarify that the "--socks4"
    and "--socks5" options do not work with the IPv6, FTPS, or LDAP protocols.
    (BZ#473128)
  • the curl utility's program help, which is accessed by running "curl -h",
    has been updated with descriptions for the "--ftp-account" and
    "--ftp-alternative-to-user" options. (BZ#517084)

Users of curl should upgrade to these updated packages, which contain
backported patches to correct these issues and add these enhancements. All
running applications using libcurl must be restarted for the update to take
effect.

Solution

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/docs/DOC-11259

Affected Products

  • Red Hat Enterprise Linux Server 5 x86_64
  • Red Hat Enterprise Linux Server 5 ia64
  • Red Hat Enterprise Linux Server 5 i386
  • Red Hat Enterprise Linux Workstation 5 x86_64
  • Red Hat Enterprise Linux Workstation 5 i386
  • Red Hat Enterprise Linux Desktop 5 x86_64
  • Red Hat Enterprise Linux Desktop 5 i386
  • Red Hat Enterprise Linux for IBM z Systems 5 s390x
  • Red Hat Enterprise Linux for Power, big endian 5 ppc
  • Red Hat Enterprise Linux Server from RHUI 5 x86_64
  • Red Hat Enterprise Linux Server from RHUI 5 i386

Fixes

  • BZ - 479967 - curl uses 100% of CPU if upload connection is broken
  • BZ - 517084 - curl program options differ from option in manual page
  • BZ - 517199 - curl, libcurl crash when reusing connection after negotiate-auth
  • BZ - 563220 - CVE-2010-0734 curl: zlib-compression causes curl to pass more than CURL_MAX_WRITE_SIZE bytes to write callback

CVEs

References